home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / STATTMSR.ZIP / SMO.FOR < prev   
Text File  |  1985-11-29  |  2KB  |  63 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE SMO
  5. C
  6. C        PURPOSE
  7. C           TO SMOOTH OR FILTER SERIES A BY WEIGHTS W.
  8. C
  9. C        USAGE
  10. C           CALL SMO (A,N,W,M,L,R)
  11. C
  12. C        DESCRIPTION OF PARAMETERS
  13. C           A - INPUT VECTOR OF LENGTH N CONTAINING TIME SERIES DATA.
  14. C           N - LENGTH OF SERIES A.
  15. C           W - INPUT VECTOR OF LENGTH M CONTAINING WEIGHTS.
  16. C           M - NUMBER OF ITEMS IN WEIGHT VECTOR.  M MUST BE AN ODD
  17. C               INTEGER.  (IF M IS AN EVEN INTEGER, ANY FRACTION
  18. C               RESULTING FROM THE CALCULATION OF (L*(M-1))/2 IN (1)
  19. C               AND (2) BELOW WILL BE TRUNCATED.)
  20. C           L - SELECTION INTEGER.  FOR EXAMPLE, L=12 MEANS THAT WEIGHTS
  21. C               ARE APPLIED TO EVERY 12-TH ITEM OF A.  L=1 APPLIES
  22. C               WEIGHTS TO SUCCESSIVE ITEMS OF A.  FOR MONTHLY DATA,
  23. C               L=12 GIVES YEAR-TO-YEAR AVERAGES AND L=1 GIVES MONTH-TO-
  24. C               MONTH AVERAGES.
  25. C           R - OUTPUT VECTOR OF LENGTH N.  FROM IL TO IH ELEMENTS OF
  26. C               THE VECTOR R ARE FILLED WITH THE SMOOTHED SERIES AND
  27. C               OTHER ELEMENTS WITH ZERO, WHERE
  28. C                    IL=(L*(M-1))/2+1  ................ (1)
  29. C                    IH=N-(L*(M-1))/2  ................ (2)
  30. C
  31. C        REMARKS
  32. C           N MUST BE GREATER THAN OR EQUAL TO THE PRODUCT OF L*M.
  33. C
  34. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  35. C           NONE
  36. C
  37. C        METHOD
  38. C           REFER TO THE ARTICLE 'FORTRAN SUBROUTINES FOR TIME SERIES
  39. C           ANALYSIS', BY J. R. HEALY AND B. P. BOGERT, COMMUNICATIONS
  40. C           OF ACM, V.6, NO.1, JANUARY, 1963.
  41. C
  42. C     ..................................................................
  43. C
  44.       SUBROUTINE SMO (A,N,W,M,L,R)
  45.       DIMENSION A(1),W(1),R(1)
  46. C
  47. C     INITIALIZATION
  48. C
  49.       DO 110 I=1,N
  50.   110 R(I)=0.0
  51.       IL=(L*(M-1))/2+1
  52.       IH=N-(L*(M-1))/2
  53. C
  54. C     SMOOTH SERIES A BY WEIGHTS W
  55. C
  56.       DO 120 I=IL,IH
  57.       K=I-IL+1
  58.       DO 120 J=1,M
  59.       IP=(J*L)-L+K
  60.   120 R(I)=R(I)+A(IP)*W(J)
  61.       RETURN
  62.       END
  63.